#ifndef SPRITESHEET_H
#define SPRITESHEET_H
#include <SFML/Graphics.hpp>

namespace binge
{

class SpriteSheet
{
public:
    SpriteSheet(void) {}
    SpriteSheet(sf::Image* theImage, int theCols, int theRows, sf::Color theTranscolor = sf::Color(255, 0, 255));
    ~SpriteSheet(void);

    int GetFrameIndex(void);
    void SetFrameIndex(int theIndex);

    bool NextFrame(void);
    sf::Sprite& GetSprite(void);

    int GetFrameWidth(void);
    int GetFrameHeight(void);

private:
    sf::Sprite sprite;
    sf::IntRect subRect;
    int index;
    int cols;
    int rows;
    int numFrames;
    int frameWidth;
    int frameHeight;
};

} // namespace

#endif // SPRITESHEET_H
